#!/usr/bin/env perl
# /login.t/
# *测试登录功能*
# 2016.08.23

use Test::More;
use Test::Mojo;

# Load application class
my $t = Test::Mojo->new('MyApp'); # 实例化一个Test类
$t->ua->max_redirects(1); # 最大跳转

# 测试/下的form内容
# 这种写法似乎是省略了 ($t) ->...
$t->get_ok('/')
  ->status_is(200)
  ->element_exists('form input[name="user"]')
  ->element_exists('form input[name="pass"]')
  ->element_exists('form input[type="submit"]');

# 测试post提交数据
$t->post_form_ok('/' => {user => 'sebastian', pass => 'secr3t'})
  ->status_is(200)->text_like('html body' => qr/Welcome sebastian/);
# 测试被保护页面
$t->get_ok('/protected')->status_is(200)->text_like('a' => qr/Logout/);
# 测试登出页面
$t->get_ok('/logout')->status_is(200)
  ->element_exists('form input[name="user"]')
  ->element_exists('form input[name="pass"]')
  ->element_exists('form input[type="submit"]');
# 测试完毕
done_testing();
